The present technology relates to device descriptions, and more specifically, to generating and implementing a custom device description file.
A communication protocol can be described as a system of digital message formats and rules. The protocol is used for exchanging digital messages between devices on a network that are capable of transmitting and/or receiving the particular message format. These messages are sent and received by devices on the network to establish communications and transfer one or more data items between the devices. The communication protocol supports the transportation of data items between two or more devices on the network. A device manufacturer or vendor utilizing such a protocol typically configures the device software and/or firmware responsible for generating the data items to generate a fixed form of data items so the vendor's device is able to transmit and receive communications in a configuration that is most efficient for the vendor's device and within the bounds of the communication protocol rules.
The fixed form of data items can be described in a device description file (DDF). The DDF is created by the vendor, and is an electronic data file that define specific and fixed data items for a specific device. The DDF describes parameters and data in the device that are accessible to other devices that communicate with the device. When a second device on a network wants to communicate with the vendor's device, the configuration tool for the second device on the network is provided with the vendor's DDF, so the second device on the network knows what parameters and data in the vendor's device are accessible.
However, in some applications, additional data needs to be communicated from one device to another that is not described in the vendor's DDF. This may be due to a customer's request that the vendor's device support a modified or completely different data item form or structure to facilitate an application defined data item and/or improving the communication efficiency, maintain compatibility with legacy devices, or compatibility with competitors devices. In order to accommodate unsupported data items, the device vendor, for example, most often must perform exclusive changes to the software and/or firmware of the vendor's device. Software/firmware changes are expensive, time consuming, and difficult to manage, as they are typically specific to a customer's request for a particular application, and are rarely transferrable to be used by other customers. Most vendors are reluctant to make these unique changes for a single customer because of these reasons.
One exemplary technical field that may use a communication protocol for communications and the transfer of data items is the field of machine vision or image processing analysis. In its simplest form, machine vision is typically used to inspect and/or locate an object. For example, in manufacturing applications, machine vision analysis may be used to detect defects in a manufactured object by acquiring images of the object and using various types of image processing algorithms to analyze the images. As an example, a system to manufacture electrical components such as resistors may use machine vision to examine the resistor in order to detect manufacturing defects, and ensure that the resistor is sized and shaped properly. A large amount of data can be collected and analyzed during the machine vision process. Not only must some or all of this data be communicated to other devices, instructions and other application related data can also be communicated to and from the machine vision system.
There are data conversion packages and industrial gateway devices available that allow a user to convert data from one device that operates using a first data format to another device that operates using a data format different than the first. These systems are mainly available in the field of information processing systems or database systems, and are mainly for the purpose of converting data one time from one system to another. However, these systems do not address the need to generate DDFs (file structure including data items defined by the device vendor), and they are not capable of communicating a changed data item structure to a device on the network.
What is needed are systems and methods that allow dynamically generated custom data content and format to be communicated from one device on a network to another device on the network.